#ifndef ESTADO_JUEGO_H
#define ESTADO_JUEGO_H

#include "Estado.h"
#include "../Core.h"
#include "../../definiciones_globales.h"
#include "../../Mapa/Mapa.h"
#include "../../Mapa/VistaDeMapa.h"
#include "../../Entidades/Entidad.h"
#include "../../Controlador/ControladorDeJugador.h"
#include "../../Entidades/VistaDeEntidad.h"
#include "../../SeguidorDeEntidad/SeguidorDeEntidad.h"

class EstadoJuego : public Estado
{
	public:
		EstadoJuego();
		~EstadoJuego();
		void Entrar();
		void Dibujar();
		void Salir();
	private:
		
		Mapa* mapa;
		VistaDeMapa* vista_de_mapa;
		
		Entidad* jugador;
		VistaDeEntidad* vista_de_jugador;
		
		ControladorDeJugador* controlador;

		SeguidorDeEntidad* seguidor_de_jugador;
		
		Callback<EstadoJuego> callback_dibujar;
};

#endif
